﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Distrackting.DataLayer;
using Distrackting.BusinessLayer;
using Microsoft.Live.ServerControls.VE;
using System.Collections.Generic;
using System.Text;

namespace Distrackting.PresentationLayer
{
    public partial class VerPercMapa : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Guid cod_perc = new Guid(Request.QueryString["perc"].ToString());
                Label5.Text = GerirPercursos.getPercurso(cod_perc).nome;
                initPerc();
                List<Ponto> pontos = GerirPercursos.getListaOrdenadaPontos(cod_perc);
                List<LatLongWithAltitude> latlngs = new List<LatLongWithAltitude>();
                foreach (Ponto p in pontos)
                {
                    LatLongWithAltitude ll = new LatLongWithAltitude(p.lat, p.lng);
                    latlngs.Add(ll);
                    Shape pushpin = new Shape(ShapeType.Pushpin, ll);
                    pushpin.CustomIcon = ResolveUrl("Images/footprint.png");
                    StringBuilder str = new StringBuilder();
                    str.Append("<p><b>Adicione uma fotografia!</b></p><p>Se estiver autenticado, pode <a href='AdicionarFoto.aspx?ponto={");
                    str.Append(p.cod_ponto.ToString());
                    str.Append("}'>adicionar uma fotografia</a> a este ponto. Se ainda não estiver registado, <a href='Registo.aspx'>crie uma nova conta!</a></p>");
                    pushpin.Description = str.ToString();
                    Map1.AddShape(pushpin);
                }

                Shape pl = new Shape(ShapeType.Polyline,latlngs);
                pl.LineColor = new Color(255,0,0,1);
                pl.HideIcon();
                Map1.AddShape(pl);
                Map1.SetMapView(latlngs);

            }
            catch (System.Exception)
            {
                Mensagens.AdicionarErro("Não foi possível encontrar o percurso pretendido.");
                Response.Redirect(ResolveUrl("Public.aspx"));
            }
         
        }



        public void initPerc()
        {
            Guid cod_perc = new Guid(Request.QueryString["perc"].ToString());
            Label1.Text = GerirPercursos.getPercurso(cod_perc).nome;

            HyperLink4.NavigateUrl = "VerPerc.aspx?perc={" + cod_perc + "}";
            HyperLink1.NavigateUrl = "VerPercMapa.aspx?perc={" + cod_perc + "}";
            HyperLink2.NavigateUrl = "VerPercFotos.aspx?perc={" + cod_perc + "}";
            HyperLink3.NavigateUrl = "VerPercTest.aspx?perc={" + cod_perc + "}";


        }



    }
}
